package org.jeecgframework.web.system.pojo.base;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.codehaus.jackson.annotate.JsonIgnore;
import org.hibernate.annotations.GenericGenerator;
import org.jeecgframework.poi.excel.annotation.Excel;

/**   
 * @Title: Entity
 * @Description: cbs_invoice_info
 * @author onlineGenerator
 * @date 2016-08-19 10:22:32
 * @version V1.0   
 *
 */
@Entity
@Table(name = "cbs_invoice_info", schema = "")
@SuppressWarnings("serial")
public class CbsInvoiceInfoEntity implements java.io.Serializable {
	/**ID*/
	private java.lang.String id;
	/**发票类型 */
	@Excel(name="发票类型 ")
	private java.lang.String invoiceGenre;

    /*发票抬头*/
    private String invoiceTitle;

	/**客户名称*/
	@Excel(name="客户名称")
	private java.lang.String clientName;
	/**类型 */
	@Excel(name="类型 ")
	private java.lang.String genre;
	/**所属影院*/
	@Excel(name="所属影院")
	private ZyCinemaEntity belongCinema;
	/**所属机构*/
	@Excel(name="所属机构")
	private TSDepart belongOrg;
	/**客户税号 */
	@Excel(name="客户税号 ")
	private java.lang.String clientTaxnum;
	/**客户地址 */
	@Excel(name="客户地址 ")
	private java.lang.String clientAddress;
	/**客户电话 */
	@Excel(name="客户电话 ")
	private java.lang.String clientPhone;
	/**客户银行名称 */
	@Excel(name="客户银行名称 ")
	private java.lang.String clientBankname;
	/**客户银行账号 */
	@Excel(name="客户银行账号 ")
	private java.lang.String clientBankaccount;
	/**createName*/
	@Excel(name="createName")
	private java.lang.String createName;
	/**createBy*/
	@Excel(name="createBy")
	private java.lang.String createBy;
	/**createDate*/
	@Excel(name="createDate")
	private java.util.Date createDate;
	/**updateName*/
	@Excel(name="updateName")
	private java.lang.String updateName;
	/**updateBy*/
	@Excel(name="updateBy")
	private java.lang.String updateBy;
	/**updateDate*/
	@Excel(name="updateDate")
	private java.util.Date updateDate;

    private Integer isActive;

    private Integer isDefault;
	
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  ID
	 */
	@Id
	@GeneratedValue(generator = "paymentableGenerator")
	@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
	@Column(name ="ID",nullable=false,length=32)
	public java.lang.String getId(){
		return this.id;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  ID
	 */
	public void setId(java.lang.String id){
		this.id = id;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  发票类型 
	 */
	@Column(name ="INVOICE_GENRE",nullable=true,length=36)
	public java.lang.String getInvoiceGenre(){
		return this.invoiceGenre;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  发票类型 
	 */
	public void setInvoiceGenre(java.lang.String invoiceGenre){
		this.invoiceGenre = invoiceGenre;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  客户名称
	 */
	@Column(name ="CLIENT_NAME",nullable=true,length=36)
	public java.lang.String getClientName(){
		return this.clientName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  客户名称
	 */
	public void setClientName(java.lang.String clientName){
		this.clientName = clientName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  类型 
	 */
	@Column(name ="GENRE",nullable=true,length=36)
	public java.lang.String getGenre(){
		return this.genre;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  类型
	 */
	public void setGenre(java.lang.String genre){
		this.genre = genre;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  所属影院
	 */
	@JsonIgnore
	@ManyToOne(cascade=CascadeType.DETACH,fetch=FetchType.LAZY,optional = false)
	@JoinColumn(name ="BELONG_CINEMA")
	public ZyCinemaEntity getBelongCinema(){
		return this.belongCinema;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  所属影院
	 */
	public void setBelongCinema(ZyCinemaEntity belongCinema){
		this.belongCinema = belongCinema;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  所属机构
	 */
	@JsonIgnore
	@ManyToOne(cascade=CascadeType.DETACH,fetch=FetchType.LAZY,optional = false)
	@JoinColumn(name ="BELONG_ORG")
	public TSDepart getBelongOrg(){
		return this.belongOrg;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  所属机构
	 */
	public void setBelongOrg(TSDepart belongOrg){
		this.belongOrg = belongOrg;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  客户税号 
	 */
	@Column(name ="CLIENT_TAXNUM",nullable=true,length=50)
	public java.lang.String getClientTaxnum(){
		return this.clientTaxnum;
	}

    @Column(name = "is_active")
    public Integer getIsActive() {
        return isActive;
    }

    public void setIsActive(Integer isActive) {
        this.isActive = isActive;
    }

    @Column(name = "is_default")
    public Integer getIsDefault() {
        return isDefault;
    }

    public void setIsDefault(Integer isDefault) {
        this.isDefault = isDefault;
    }

    /**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  客户税号 
	 */
	public void setClientTaxnum(java.lang.String clientTaxnum){
		this.clientTaxnum = clientTaxnum;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  客户地址 
	 */
	@Column(name ="CLIENT_ADDRESS",nullable=true,length=100)
	public java.lang.String getClientAddress(){
		return this.clientAddress;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  客户地址 
	 */
	public void setClientAddress(java.lang.String clientAddress){
		this.clientAddress = clientAddress;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  客户电话 
	 */
	@Column(name ="CLIENT_PHONE",nullable=true,length=36)
	public java.lang.String getClientPhone(){
		return this.clientPhone;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  客户电话 
	 */
	public void setClientPhone(java.lang.String clientPhone){
		this.clientPhone = clientPhone;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  客户银行名称 
	 */
	@Column(name ="CLIENT_BANKNAME",nullable=true,length=36)
	public java.lang.String getClientBankname(){
		return this.clientBankname;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  客户银行名称 
	 */
	public void setClientBankname(java.lang.String clientBankname){
		this.clientBankname = clientBankname;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  客户银行账号 
	 */
	@Column(name ="CLIENT_BANKACCOUNT",nullable=true,length=36)
	public java.lang.String getClientBankaccount(){
		return this.clientBankaccount;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  客户银行账号 
	 */
	public void setClientBankaccount(java.lang.String clientBankaccount){
		this.clientBankaccount = clientBankaccount;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  createName
	 */
	@Column(name ="CREATE_NAME",nullable=true,length=50)
	public java.lang.String getCreateName(){
		return this.createName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  createName
	 */
	public void setCreateName(java.lang.String createName){
		this.createName = createName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  createBy
	 */
	@Column(name ="CREATE_BY",nullable=true,length=50)
	public java.lang.String getCreateBy(){
		return this.createBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  createBy
	 */
	public void setCreateBy(java.lang.String createBy){
		this.createBy = createBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  createDate
	 */
	@Column(name ="CREATE_DATE",nullable=true)
	public java.util.Date getCreateDate(){
		return this.createDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  createDate
	 */
	public void setCreateDate(java.util.Date createDate){
		this.createDate = createDate;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  updateName
	 */
	@Column(name ="UPDATE_NAME",nullable=true,length=50)
	public java.lang.String getUpdateName(){
		return this.updateName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  updateName
	 */
	public void setUpdateName(java.lang.String updateName){
		this.updateName = updateName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  updateBy
	 */
	@Column(name ="UPDATE_BY",nullable=true,length=50)
	public java.lang.String getUpdateBy(){
		return this.updateBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  updateBy
	 */
	public void setUpdateBy(java.lang.String updateBy){
		this.updateBy = updateBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  updateDate
	 */
	@Column(name ="UPDATE_DATE",nullable=true)
	public java.util.Date getUpdateDate(){
		return this.updateDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  updateDate
	 */
	public void setUpdateDate(java.util.Date updateDate){
		this.updateDate = updateDate;
	}

    @Column(name = "invoice_title")
    public String getInvoiceTitle() {
        return invoiceTitle;
    }

    public void setInvoiceTitle(String invoiceTitle) {
        this.invoiceTitle = invoiceTitle;
    }

}
